package com.qs.education.service;


import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.MultipartFile;

import com.qs.education.bean.api.ResponseBean;
import com.qs.education.bean.api.ResponseListBean;
import com.qs.education.bean.beans.EducationTeacherResponse;
import com.qs.education.bean.entity.EducationTeacher;

/**
 * @class 
 * @author Leon
 * @description
 * @date Nov 1, 2018
 */
public interface ITeacherAPPService {
	
	/**
	 * @Description 教师端 根据 手机号查询用户是否存在
	 * @author Leon
	 * @date   Nov 5, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse findTeacherByMobile(String mobile);
	
	/**
	 * @Description 根据教师 手机号或者姓名进行查询
	 * @author Leon
	 * @date   Nov 12, 2018
	 * @param  
	 * @return ResponseListBean<EducationTeacher>
	 */
	public ResponseListBean<EducationTeacher> findTeacherByMobileOrName(String content);
	
	/**
	 * @Description 教师端 登录
	 * @author Leon
	 * @date   Nov 6, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse login(String mobile,String password);
	
	/**
	 * @Description 教师端退出
	 * @author Leon
	 * @date   Nov 6, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse Quit(String mobile);
	
	/**
	 * @Description 教师端忘记密码
	 * @author Leon
	 * @date   Nov 6, 2018
	 * @param  
	 * @return EducationTeacherResposne
	 */
	public EducationTeacherResponse ForgetPassword(String mobile,String password);
	
	/**
	 * @Description 注册成功保存手机号和密码
	 * @author Leon
	 * @date   Nov 7, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse saveTeacherMobileAndPassword(String mobile,String password);
	
	/**
	 * @Description 
	 * @author Leon
	 * @date   Nov 8, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse perfectTeacherInfo(EducationTeacher teacher,String schoolId,String subjectId);
	
	/**
	 * @Description 修改教师个人信息
	 * @author Leon
	 * @date   Nov 15, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse modifyTeacherInfo(HttpServletRequest request,EducationTeacher teacher,MultipartFile file);
	
	/**
	 * @Description 退出群组
	 * @author Leon
	 * @date   Nov 19, 2018
	 * @param  
	 * @return ResponseBean
	 */
	public ResponseBean quitGroup(String gropId,String teacherId);
	
	/**
	 * @Description 修改密码
	 * @author Leon
	 * @date   Nov 27, 2018
	 * @param  
	 * @return ResponseBean
	 */
	public ResponseBean changePassword(String id,String oldPassword,String newPassword);
	
	/**
	 * @Description 根据教师id查询教师信息
	 * @author Leon
	 * @date   Nov 28, 2018
	 * @param  
	 * @return EducationTeacherResponse
	 */
	public EducationTeacherResponse findTeacherById(String teacherId);
}
